package com.alexrnl.BetaSeriesFileManager.API.interfaces;

import java.util.List;

import com.alexrnl.BetaSeriesFileManager.API.entities.Show;

/**
 * Interface for the classes that allow access to the API
 * @author Alex
 */
public interface IBetaSeries {

	/**
	 * Simple request that retrieve the current API's status.
	 * @return the status of the API.
	 */
	public String getStatus ();

	/**
	 * Search for shows with a given string.
	 * @param title
	 *            the string to search (must be 2 characters long at least)
	 * @return the list of the shows matching the searched title
	 * @throws NullPointerException
	 *             if the string is <code>null</code>.
	 * @throws IllegalArgumentException
	 *             if the string is shorter than 3 characters.
	 */
	public List<Show> searchShows (String title) throws NullPointerException,
	IllegalArgumentException;
}
